home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Softshoe / Lisa's Mac Parts / Views / Pane Options / AcceptsSizeSuggestions.h < prev   
Text File  |  2000-06-23  |  774b  |  40 lines

  1. // AcceptsSizeSuggestions.h
  2.  
  3. #ifndef AcceptsSizeSuggestions_h
  4. #define AcceptsSizeSuggestions_h
  5.  
  6. #ifndef SuggestsPaneSize_h
  7. #include "SuggestsPaneSize.h"
  8. #endif
  9. #ifndef View_h
  10. #include "View.h"
  11. #endif
  12.  
  13. class SuggestsPaneSize;
  14.  
  15. class AcceptsSizeSuggestions
  16.   {
  17.     private:
  18.         const SuggestsPaneSize *sizer;
  19.         
  20.     public:
  21.         AcceptsSizeSuggestions()
  22.           : sizer( &SuggestsPaneSize::Zero() )
  23.           {}
  24.         
  25.         void SetContent( const View& view )
  26.           {
  27.             sizer = dynamic_cast<const SuggestsPaneSize*>( &view );
  28.             if ( sizer == 0 )
  29.                 sizer = &SuggestsPaneSize::LargestPossible();
  30.           }
  31.         
  32.         void Clear()                    { sizer = &SuggestsPaneSize::Zero(); }
  33.  
  34.         void SetSizer( const SuggestsPaneSize& s )        { sizer = &s; }
  35.         
  36.         const SuggestsPaneSize& Sizer() const                { return *sizer; }
  37.   };
  38.  
  39. #endif
  40.